#!/bin/bash


#----------- Varibles de entorno -----------------

#---- dominio de busqueda -------
# esta configuracion permite configurar el archivo resolv.conf de modo que solo sea necesario hacer
# una busqueda como la siguiente:
#	CCalvo01.salsacate
#
# en lugar de buscar la direccion completa:
#	CCalvo01.salsacate.dc.fi.uba.ar
#
dominio=dc.fi.uba.ar

# servidor DNS root al que apuntaran todos los equipos.
nameserver=192.168.56.5

#------  Paths  ----------
# Rutas absolutas de los scripts de configuracion
path_scripts_routers=/usr/src
path_scripts_dns_root=/usr/src/DNS/level1_root  #los scripts de DNS deben estar todos en la misma carpeta
path_scripts_dns_H230=/usr/src/DNS/level2_H230
path_scripts_dns_H207=/usr/src/DNS/level2_H207
path_scripts_ftp=/usr/src/FTP
path_scripts_web=/usr/src/WebServer
path_scripts_tel=/usr/src/TelServer
path_scripts_hosts=/usr/src
path_script_inicio=/usr/src

#-----  nombre scripts  --------
#nombre completo de los scripts de configuracion
script_H201=H201.sh
script_H202=H202.sh
script_H203=H203.sh
script_H206=H206.sh
script_H207=H207.sh
script_H225=H225.sh
script_H226=H226.sh
script_H227=H227.sh
script_H230=H230.sh
script_DNS_R_H206=DNS_Root.sh
script_DNS_S_H207=DNS_level2_H207.sh
script_DNS_S_H230=DNS_level2_H230.sh
script_HOSTA=HostA.sh
script_HOSTB=HostB.sh
script_HOSTC=HostC.sh
script_WEB=WebServer.sh
script_TEL=TELServer.sh
script_FTP=FTPServer.sh
script_inicio=tareasIniciales.sh


#########################################################
#							#
# No toque apartir de aqui si no sabe lo que hace       #
#							#
#########################################################

echo 'Instanciando el acelerador de particulas...DONE!'
echo 'Unificando las variables espacio-tiempo...DONE!'
cd /usr/src


tareas_de_inicio(){
echo 'Limpiando sistema'
cd $path_script_inicio
chmod 755 ./$script_inicio
./$script_inicio
}


apuntar_name_server(){
echo 'apuntando servidores DNS al root'
rm /etc/resolv.conf
touch /etc/resolv.conf
echo "search $dominio" >> /etc/resolv.conf
echo "nameserver $nameserver" >> /etc/resolv.conf
chmod 777 /etc/resolv.conf
#'/etc/init.d/networking restart'
echo "DONE"
}

setear_ipforward(){
echo 'Seteando capacidades de routing'
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "DONE"
}

press_any_key(){
echo ""
echo ""
echo "presione una tecla para continuar"
read nulo
}

set_prompt(){
PS1="$(tput setaf 1)$1$(tput setaf 7):\w\$"
}

showmenu () {
clear
echo "----------------------------------------------------------------"
echo "| Recuerda limpiar la configuracion siempre que sea necesario! |"
echo "| Este script debe ser invocado de la siguiente forma:	     |"
echo "| 	. configurador.sh				     |"
echo "----------------------------------------------------------------"
echo "------ Opciones generales  -----"
echo "0. Limpiar configuracion manual"
echo "1. Activar ipforward manual - (se realiza automaticamente al configurar un Router)"
echo "------     Routers    ----------"
echo "2. H201"
echo "3. H202"
echo "4. H203"
echo "5. H206"
echo "6. H207"
echo "7. H225"
echo "8. H226"
echo "9. H227"
echo "10. H230"
echo "------ Servidores de Nombre ----"
echo "11. DNS Root en H206"
echo "12. DNS Slave en H207"
echo "13. DNS Slave en H230"
echo "------       Otros          ----"
echo "14. Host A"
echo "15. Host B"
echo "16. Host C"
echo "17. WEB server"
echo "18. TELNET server"
echo "19. FTP server"
echo "--------------------------------"
echo "20. Salir"
}

SEGUIR=true

while ($SEGUIR = true)
do
showmenu
echo "Ingrese su Opcion:"
read choice
case "$choice" in
"0")
clear
tareas_de_inicio
echo "Finalizado"
press_any_key
;;
"1")
clear
setear_ipforward
echo "Finalizado"
press_any_key
;;
"2")
  clear
  echo "Configurando Router H201"
  setear_ipforward
  apuntar_name_server
  set_prompt H201
  cd $path_scripts_routers
  chmod 755 ./$script_H201
  ./$script_H201
  echo "finalizado"
  press_any_key
;;	
"3")
  clear
  echo "Configurando Router H202"
  setear_ipforward
  apuntar_name_server
  set_prompt H202
  cd $path_scripts_routers
  chmod 755 ./$script_H202
  ./$script_H202
  echo "finalizado"
  press_any_key
;;
"4")
  clear
  echo "Configurando Router H203"
  setear_ipforward
  apuntar_name_server
  set_prompt H203
  cd $path_scripts_routers
  chmod 755 ./$script_H203
  ./$script_H203
  echo "finalizado"
  press_any_key
;;
"5")
  clear
  echo "Configurando Router H206"
  #set_prompt H206
  setear_ipforward
  apuntar_name_server
  set_prompt H206
  cd $path_scripts_routers
  chmod 755 ./$script_H206
  ./$script_H206
  echo "finalizado"
  press_any_key
;;
"6")
  clear
  echo "Configurando Router H207"
  setear_ipforward
  apuntar_name_server
  set_prompt H207
  cd $path_scripts_routers
  chmod 755 ./$script_H207
  ./$script_H207
  echo "finalizado"
  press_any_key
;;	
"7")
  clear
  echo "Configurando Router H225"
  setear_ipforward
  apuntar_name_server
  set_prompt H225
  cd $path_scripts_routers
  chmod 755 ./$script_H225
  ./$script_H225
  echo "finalizado"
  press_any_key
;;
"8")
  clear
  echo "Configurando Router H226"
  setear_ipforward
  apuntar_name_server
  set_prompt H226
  cd $path_scripts_routers
  chmod 755 ./$script_H226
  ./$script_H226
  echo "finalizado"
  press_any_key
;;
"9")
  clear
  echo "Configurando Router H227"
  setear_ipforward
  apuntar_name_server
  set_prompt H227
  cd $path_scripts_routers
  chmod 755 ./$script_H227
  ./$script_H227
  echo "finalizado"
  press_any_key
;;
"10")
  clear
  echo "Configurando Router H230"
  setear_ipforward
  apuntar_name_server
  set_prompt H230
  cd $path_scripts_routers
  chmod 755 ./$script_H230
  ./$script_H230
  echo "finalizado"
  press_any_key
;;	
"11")
  clear
  echo "Configurando DNS ROOT en H206"
  apuntar_name_server
  cd $path_scripts_dns_root
  chmod 755 ./$script_DNS_R_H206
  ./$script_DNS_R_H206
  echo "finalizado"
  press_any_key
;;
"12")
  clear
  echo "Configurando DNS level 2 en H207"
  apuntar_name_server
  cd $path_scripts_dns_H207
  chmod 755 ./$script_DNS_S_H207
  ./$script_DNS_S_H207
  echo "finalizado"
  press_any_key
;;
"13")
  clear
  echo "Configurando DNS level 2 en H230"
  apuntar_name_server
  cd $path_scripts_dns_H230
  chmod 755 ./$script_DNS_S_H230
  ./$script_DNS_S_H230
  echo "finalizado"
  press_any_key
;;
"14")
  clear
  echo "Configurando Este equipo como HOST A"
  apuntar_name_server
  set_prompt HostA
  cd $path_scripts_hosts
  chmod 755 ./$script_HOSTA
  ./$script_HOSTA
  echo "finalizado"
  press_any_key
;;	
"15")
  clear
  echo "Configurando Este equipo como HOST B"
  apuntar_name_server
  set_prompt HostB
  cd $path_scripts_hosts
  chmod 755 ./$script_HOSTB
  ./$script_HOSTB
  echo "finalizado"
;;
"16")
  clear
  echo "Configurando Este equipo como HOST C"
  apuntar_name_server
  set_prompt HostC
  cd $path_scripts_hosts
  chmod 755 ./$script_HOSTC
  ./$script_HOSTC
  echo "finalizado"
;;
"17")
  clear
  echo "Configurando Este equipo como Web Server"
  apuntar_name_server
  set_prompt WebServer
  cd $path_scripts_web
  chmod 755 ./$script_WEB
  ./$script_WEB
  echo "finalizado" 
;;
"18")
  clear
  echo "Configurando Este equipo como Telnet"
  apuntar_name_server
  set_prompt TelServer
  cd $path_scripts_tel
  chmod 755 ./$script_TEL
  ./$script_TEL
  echo "finalizado"
  press_any_key
;;	
"19")
  clear
  echo "Configurando Este equipo como FTP"
  apuntar_name_server
  set_prompt FTP
  cd $path_scripts_ftp
  chmod 755 ./$script_FTP
  ./$script_FTP
  echo "finalizado"
  press_any_key
;;
"20")
  clear
echo "Saliendo"
SEGUIR=false
;;
*)
clear
echo "Te equivocaste, ponele onda"
press_any_key
;;
esac
done  